#ifndef PLAYER_HH
#define PLAYER_HH

#include <list>
#include <vector>
#include "item.hh"
#include "resourceloader.hh"

/*
  Représente les données du joueur importantes
  durant la partie
*/
class Player {
private:

  /*
    Utile pour la sauvegarde
  */
  std::string name_;
  
  /*
    L'inventaire
  */
  std::vector<Item> listItem_;

  /*
    Afin que certains évènements requièrent la validation d'autres 
    ce vecteur contient tous les textEvents effectués
  */
  std::vector<int> pastEvents_;
public:
  Player();
  ~Player();
  std::string getName();
  std::vector<Item> getVectorItem();
  std::vector<int> getPastEvents();
  /*
    Utilisé uniquement pour une nouvelle partie quand
    le joueur entre son nom
  */
  void setName(std::string);
  
  bool hasItemId(int);

  void addItem(int);

  //version pour Pascal
  void addItem(Item);

  /*
    Supprime l'item qui a l'attribut id_ égal au paramètre
  */
  std::string consumeItem(int);

  void addPastEvent(int);
};

#endif
